Astro Hub

10.Network / 1.VNET과 SUBNET을 생성

프로젝트: astro-test1

원본 경로: installguide-이름바꾸기테스트/10.Azure/10.Network/1.VNET과 SUBNET을 생성.md


1. 개요

/26 VNET 구성방안

VNET CIDR 사용 가능 IP 수량(실제 가능한 수량)
VNET 10.225.x.0/26 64(59개)
SUBNET CIDR 사용 가능 IP 수량 (실제 가능 IP수량)
Subnet(APPGW) 10.225.x.0/28 16 (11개)
Subnet(APP) 10.225.x.16/28 16 (11개)
Subnet(DB) 10.225.x.32/28 16 (11개)
Subnet(PE) 10.225.x.48/28 16 (11개)
VNET CIDR 사용 가능 IP 수량(실제 가능한 수량)
VNET 10.225.x.0/26 64(59개)
SUBNET CIDR 사용 가능 IP 수량 (실제 가능 IP수량)
Subnet(APP) 10.225.x.0/27 32 (27개)
Subnet(DB) 10.225.x.32/28 16 (11개)
Subnet(PE) 10.225.x.48/28 16 (11개)

/25 VNET 구성 방안

VNET CIDR 사용 가능 IP 수량(실제 가능한 수량)
VNET 10.225.x.0/25 128 (123개)
SUBNET CIDR 사용 가능 IP 수량 (실제 가능 IP수량)
Subnet(APPGW) 10.225.x.96/28 16 (11개)
Subnet(APP) 10.225.x.0/26 64 (59개)
Subnet(DB) 10.225.x.112/28 16 (11개)
Subnet(PE) 10.225.x.64/27 32 (27개)
VNET CIDR 사용 가능 IP 수량(실제 가능한 수량)
VNET 10.225.x.0/25 128 (123개)
SUBNET CIDR 사용 가능 IP 수량 (실제 가능 IP수량)
Subnet(APP) 10.225.x.0/26 64 (59개)
Subnet(DB) 10.225.x.64/27 32 (27개)
Subnet(PE) 10.225.x.96/27 32 (27개)
VNET CIDR 사용 가능 IP 수량(실제 가능한 수량)
VNET 10.225.x.0/25 128 (123개)
SUBNET CIDR 사용 가능 IP 수량 (실제 가능 IP수량)
Subnet(APPGW-public) 10.225.x.64/28 16 (11개)
Subnet(APPGW-private) 10.225.x.79/28 16 (11개)
Subnet(APP) 10.225.x.0/26 64 (59개)
Subnet(DB) 10.225.x.96/28 16 (11개)
Subnet(PE) 10.225.x.112/28 16 (11개)

2. azurecli 스크립트

/26 VNET 구성방안

#!/bin/bash

# ===============================================================
# [1] 사용자 변경값
# ===============================================================
RESOURCE_GROUP="rg-az01-comm-poc-01"
LOCATION="koreacentral"
ENV="dev"           # 환경 (dev, prd)
SERVICE="comm"      # 서비스명
PURPOSE="app"       # 용도
SEQUENCE="01"       # 시퀀스 번호

VNET_CIDR="10.225.1.0/26"
SUBNET_APPGW_CIDR="10.225.1.0/28"
SUBNET_APP_CIDR="10.225.1.16/28"
SUBNET_DB_CIDR="10.225.1.32/28"
SUBNET_PE_CIDR="10.225.1.48/28"

# ===============================================================
# [2] 네이밍 규칙 적용
# ===============================================================
VNET_NAME="vnet-az01-${ENV}-${SERVICE}-${PURPOSE}-${SEQUENCE}"
SUBNET_PREFIX="sbn-az01-${ENV}-${SERVICE}-${PURPOSE}-${SEQUENCE}"

# ===============================================================
# [3] 전체 Subnet JSON 구성
# ===============================================================
ALL_SUBNETS_JSON=$(printf '[
  {"name": "%s-appgw", "addressPrefix": "%s"},
  {"name": "%s-app",   "addressPrefix": "%s"},
  {"name": "%s-db",    "addressPrefix": "%s"},
  {"name": "%s-pe",    "addressPrefix": "%s"}
]' "$SUBNET_PREFIX" "$SUBNET_APPGW_CIDR" \
   "$SUBNET_PREFIX" "$SUBNET_APP_CIDR" \
   "$SUBNET_PREFIX" "$SUBNET_DB_CIDR" \
   "$SUBNET_PREFIX" "$SUBNET_PE_CIDR")

# ===============================================================
# [4] VNet 및 모든 Subnet 생성
# ===============================================================
az network vnet create \
  --resource-group "$RESOURCE_GROUP" \
  --location "$LOCATION" \
  --name "$VNET_NAME" \
  --address-prefix "$VNET_CIDR" \
  --subnets "$ALL_SUBNETS_JSON"

프로젝트 홈으로 돌아가기